﻿using System.ComponentModel;
using CommunityToolkit.Mvvm.ComponentModel;

namespace MG.SmartHMI.Model.VO
{
    /// <summary>
    /// <see cref="Entity.DAO.AxisConfig"/>
    /// </summary>
    public partial class AxisConfigVO : ObservableRecipient
    {
        public int Id { get; set; }
        public DateTime UpdateTime { get => DateTime.Now; }

        /// <summary>
        /// 名称
        /// </summary>
        [ObservableProperty]
        [Description("名称")]
        private string name;

        /// <summary>
        /// 排列顺序
        /// </summary>
        [ObservableProperty]
        [Description("排列顺序")]
        private int sortLevel;

        /// <summary>
        /// 使能地址
        /// </summary>
        [ObservableProperty]
        [Description("使能地址")]
        private string enableAddress;

        // <summary>
        /// 回原地址
        /// </summary>
        [ObservableProperty]
        [Description("回原地址")]
        private string homeAddress;

        /// <summary>
        /// 复位地址
        /// </summary>
        [ObservableProperty]
        [Description("复位地址")]
        private string resetAddress;

        /// <summary>
        /// GO地址
        /// </summary>
        [ObservableProperty]
        [Description("GO地址")]
        private string goAddress;

        /// <summary>
        /// JOG+地址
        /// </summary>
        [ObservableProperty]
        [Description("JOG+地址")]
        private string jOGPAddress;

        /// <summary>
        /// JOG-地址
        /// </summary>
        [ObservableProperty]
        [Description("JOG-地址")]
        private string jOGNAddress;

        /// <summary>
        /// 位置地址
        /// </summary>
        [ObservableProperty]
        [Description("位置地址")]
        private string positionAddress;

        /// <summary>
        /// 速度地址
        /// </summary>
        [ObservableProperty]
        [Description("速度地址")]
        private string velAddress;
    }
}